refactor(networking): drop dead code across gossipsub, ENR, transport, fixtures#736
Merged
tcoratger merged 2 commits intoMay 21, 2026
Merged
Conversation
…, fixtures Nine targeted cleanups identified by an audit of the networking subspec. Each item is either entirely unused in production or fully superseded by a different code path. Deletions: - TTFB_TIMEOUT — unused constant. - GOSSIPSUB_PROTOCOL_ID_V11 — never advertised; default is v1.2. Stale v1.1 docstring references updated to v1.2. - negotiate_client (eager protocol negotiation) — production uses negotiate_lazy_client; this variant was test-only. - PrunePeerInfo + ControlPrune.peers (PRUNE peer-exchange) — never produced or consumed. - ENR.ip6 / udp6_port / quic6_port plus IP6 / UDP6 / QUIC6 keys, the IPv6 branches in parse_multiaddr and ENR.multiaddr — no production caller; IPv6 not on the roadmap. - SyncCommitteeSubnets + SYNCNETS + ENR.sync_committee_subnets — lean Ethereum has no sync committees. - SnappyDecompressor type + GossipsubMessage.snappy_decompress field + the lazy snappy branch in compute_id — production always passes domain= explicitly. - NOISE_IDENTITY_PREFIX + create_identity_proof + verify_identity_proof (entire signature.py module) — Noise handshake was replaced by QUIC + libp2p-tls; zero production callers. Refactor: - Three call sites computing self._gossipsub_behavior._instance_id % 0xFFFF now read the existing _short_id field. Fixes an off-by-one inconsistency: the source used % 0x10000 (0..65535) while the duplicates used % 0xFFFF (0..65534). Interop fixture sweep: - Mirrors the discv5 PR leanEthereum#734 precedent: the corresponding sections in packages/testing/.../networking_codec.py (_build_prune_peer, IPv6 emission, sync_committee_subnets emission) are removed too, since the protocol features they exercise no longer exist. Net: 28 files, 57 insertions, 980 deletions, 2 files deleted. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Trailing whitespace left over from the targeted deletions in the previous commit. No behavior change. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Nine targeted cleanups identified by a recent audit of
subspecs/networking/. Each item is either entirely unused in production or fully superseded by a different code path. Net: 28 files, 57 insertions, 980 deletions, 2 files deleted.Items
Deletions
SnappyDecompressortype +GossipsubMessage.snappy_decompressfield + lazy snappy branch incompute_iddomain=explicitly; the lazy callable path was test-onlyNOISE_IDENTITY_PREFIX+create_identity_proof+verify_identity_proof(entiresignature.py)PrunePeerInfo+ControlPrune.peers(PRUNE peer-exchange)ENR.ip6,udp6_port,quic6_port,IP6/UDP6/QUIC6keys + IPv6 branches inparse_multiaddrandENR.multiaddr)SyncCommitteeSubnets+SYNCNETS+ENR.sync_committee_subnetsnegotiate_client(eager protocol negotiation)negotiate_lazy_client; this variant was test-onlyTTFB_TIMEOUTGOSSIPSUB_PROTOCOL_ID_V11Refactor
self._gossipsub_behavior._instance_id % 0xFFFFnow read the existing_short_idfield% 0x10000(0..65535) while the duplicates used% 0xFFFF(0..65534)Fixture sweep
For items 3, 4, 5: mirrors the discv5 PR #734 precedent. The corresponding sections in
packages/testing/src/consensus_testing/test_fixtures/networking_codec.py(_build_prune_peer, IPv6 emission,sync_committee_subnetsemission) are removed too, since the protocol features they exercise no longer exist.Test plan
🤖 Generated with Claude Code